//
//  NavigationController.m
//  微博2期
//
//  Created by J on 15/11/18.
//
//

#import "NavigationController.h"
@implementation NavigationController

+ (void)initialize{//在这个类第一次被使用的时候调用
//    NSLog(@"%s",__func__);
//    [UINavigationBar appearance];//导航栏文字颜色 大小 背景
   
    //设置整个项目所有item的主题样式
    UIBarButtonItem * item = [UIBarButtonItem appearance];
    
    //设置普通状态
    NSMutableDictionary * textAttrs = [NSMutableDictionary dictionary];
    textAttrs[NSForegroundColorAttributeName]= [UIColor orangeColor];
    textAttrs[NSFontAttributeName]= [UIFont systemFontOfSize:15];
    [item setTitleTextAttributes:textAttrs forState:UIControlStateNormal];
    
    //设置不可用状态
    
    NSMutableDictionary * disabletextAttrs = [NSMutableDictionary dictionary];
    disabletextAttrs[NSForegroundColorAttributeName]= [UIColor grayColor];//这个设置要在viewwillAppear按钮才会不能被点颜色才会生效
    disabletextAttrs[NSFontAttributeName]= textAttrs[NSFontAttributeName];
    [item setTitleTextAttributes:disabletextAttrs forState:UIControlStateDisabled];
    //每个像素都有自己的颜色 每一种颜色都可以有rgb三色组成
    // 12bit颜色: #f 0 0 红 绿 蓝 4 每个通道
    // 24bit颜色: #ff 00 00 红 绿 蓝 8
    //RGB
    // 32bit颜色  #ff 00 00 ff  红绿蓝 alpha
    // #ff00ff
    
    
}
/**
 *  重写这个方法的目的: 能够拿到所有push进来的控制器
 *
 *  @param viewController 即将push进来的控制器
 *  %90 的拦截 都是通过自定义类 重写自定义的方法实现的
 */
- (void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated{
    [super pushViewController:viewController animated:animated];
    
//    NSLog(@"%s",__func__);
//先push 然后才会加载视图  走viewController控制器的生命周期 viewController init 然后调用这个方法push 然后 loadView
    if (self.viewControllers.count>1) {//这是push进来的控制器viewController, 不是第一个子控制器(不是根控制器)
        
        viewController.hidesBottomBarWhenPushed = YES;//自动显示和隐藏tabbar push谁 谁就调用 第二个控制器的时候才隐藏
        

        viewController.navigationItem.leftBarButtonItem = [UIBarButtonItem itemWithTarget:self action:@selector(back) image:@"navigationbar_back" highImage:@"navigationbar_back_highlighted"];
    
  
        viewController.navigationItem.rightBarButtonItem = [UIBarButtonItem itemWithTarget:self action:@selector(more) image:@"navigationbar_more" highImage:@"navigationbar_more_highlighted"];

    }
    
    
}


- (void)back{
    //这里sel本身就是一个导航控制器 self.navigationController ==null
    [self popViewControllerAnimated:YES];
}

- (void)more{
    [self popToRootViewControllerAnimated:YES];//返回根控制器
    
}

@end
